As used herein, the terms “user agent” and “UA” can refer to wireless devices such as mobile telephones, personal digital assistants, handheld or laptop computers, other user equipment “UE” and similar devices that have telecommunications capabilities. Such a UA might consist of a wireless device and its associated Universal Integrated Circuit Card (UICC) that includes a Subscriber Identity Module (SIM) application, a Universal Subscriber Identity Module (USIM) application, or a Removable User Identity Module (R-UIM) application or might consist of the device itself without such a card. The term “UA” may also refer to devices that have similar wireless capabilities but that are not transportable, such as telephones, desktop computers, set-top boxes, or network nodes. When a UA is a network node, the network node could act on behalf of another function such as a wireless device and simulate or emulate the wireless device. For example, for some wireless devices, the IP (Internet Protocol) Multimedia Subsystem (IMS) Session Initiation Protocol (SIP) client that would typically reside on the device actually resides in the network and relays SIP message information to the device using optimized protocols. In other words, some functions that were traditionally carried out by a wireless device can be distributed in the form of a remote UA, where the remote UA represents the wireless device in the network. The term “UA” can also refer to any hardware or software component that can terminate a SIP session. The terms UA and UE may be used interchangeably herein. The term SIP message can refer to a SIP response or a SIP request.
Each SIP entity is typically provided with a UA that may operate in two fashions: a User Agent Client (UAC) that generates request messages towards servers, and a User Agent Server (UAS) that receives request messages, processes them, and generates suitable responses. In some application scenarios, a single UA may function as both at a SIP entity, e.g., a UE device or a network node. In the most basic form, SIP uses six types (methods) of requests: INVITE, ACK, BYE, CANCEL, OPTIONS, and REGISTER. The INVITE request indicates a user or service is being invited to participate in a call session. The ACK request confirms that the client has received a final response to an INVITE request. The BYE request terminates a call/session and can be sent by either the caller or the callee. The CANCEL request cancels any pending searches but does not terminate a call/session that currently in progress. The OPTIONS request queries the capabilities of servers. The REGISTER request registers the address listed in the To: header field with a SIP server. As SIP can continue to evolve, a recipient may receive a method of request that it does not recognize. Such a method of request is handled as the UNKNOWN method of request.
In response to requests, SIP uses the following categories of responses: 1xx Informational Messages, 2xx Successful Responses, 3xx Redirection Responses, 4xx Request Failure Responses, 5xx Server Failure Responses, and 6xx General Failure Responses.
SIP messages are typically provided with a standardized message structure. FIG. 1 depicts the structure of an exemplary communication protocol message (e.g., a SIP message) having one initial line, one or more header fields, and a message body, where the message body possibly includes multiple body parts. A command line portion 12 identifies the initial line (e.g., a request line in requests and a status line in responses). A header portion 14 identifies one or more header fields 18-1 through 18-N that convey various pieces of information. One or more message body parts 20-1 through 20-M may be provided in a message body portion 16. As is well known, a message body is operable to hold any content such as plain text, coded images, or any information that may be rendered, e.g., in a Markup Language such as XML, HTML, etc. Each message body (or body part) is described using header fields such as, but not limited to, Content-Disposition, Content-Encoding, and Content-Type, etc., which provide information on its contents. Typically, the value of a Content-Type header field is a Multi-purpose Internet Mail Extensions (MIME) type.
In traditional wireless telecommunications systems, transmission equipment in a base station transmits signals throughout a geographical region known as a cell. As technology has evolved, more advanced network access equipment has been introduced that can provide services that were not possible previously. This advanced network access equipment might include, for example, an enhanced node B (ENB) rather than a base station or other systems and devices that are more highly evolved than the equivalent equipment in a traditional wireless telecommunications system. Such advanced or next generation equipment may be referred to herein as long-term evolution (LTE) equipment, and a packet-based network that uses such equipment can be referred to as an evolved packet system (EPS). As used herein, the term “access device” will refer to any component, such as a traditional base station, an LTE ENB, or any other that can provide a UA with access to other components in a telecommunications system. For packet data, the signal that carries data between a UA and an access device can have a specific set of frequency, time, and coding parameters and other characteristics that might be specified by the access device. A connection between a UA and an access device that has a specific set of such characteristics can be referred to as a resource. An access device typically establishes a different resource for each UA with which it is communicating at any particular time.
Communications that take place via circuit switching can be said to occur in the circuit switched domain and communications that take place via packet switching can be said to occur in the packet switched domain. Within each domain, several different types of networks, protocols, or technologies can be used. In some cases, the same network, protocol, or technology can be used in both domains. The wireless communication networks may be based on Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiplexing (OFDM), or some other multiple access scheme. A CDMA-based network may implement one or more standards such as 3GPP2 IS-2000 (commonly referred to as CDMA 1×), 3GPP2 IS-856 (commonly referred to as CDMA 1×EV-DO), or 3GPP UMTS (Universal Mobile Telecommunications System). A TDMA-based network may implement one or more standards such as 3GPP Global System for Mobile Communications (GSM) or 3GPP General Packet Radio Service (GPRS).
GSM is an example of a wireless network standard that uses only the circuit switching mode. Examples of wireless network standards that use only packet switching include GPRS, CDMA 1× EV-DO, Worldwide Interoperability for Microwave Access (WiMAX), and Wireless Local Area Network (WLAN), which might comply with Institute of Electrical and Electronics Engineers (IEEE) standards such as 802.16, 802.16e, 802.11a, 802.11b, 802.11g, 802.11n, and similar standards. Examples of wireless network standards that may use both circuit switching and packet switching modes include CDMA 1× and UMTS. An example of an application-layer protocol that can be used in a packet switching wireless network is the Session Initiation Protocol (SIP). SIP has been standardized and governed primarily by the Internet Engineering Task Force (IETF). The IP (Internet Protocol) Multimedia Subsystem (IMS) is a packet switched technology that allows multimedia content that may include text, audio, and/or video portions to be transmitted between nodes.